package peer

//定义请求的类型
type RequestMsg struct {
	Timestamp int64  `json:"timestamp"`
	ClientID  string `json:"clientID"`
	Operation string `json:"operation"`
	//SequenceID int64  `json:"sequenceID"`
}

//定义预准备消息
type PrePrepareMsg struct {
	ViewID     int64        `json:"viewID"`
	SequenceID int64        `json:"sequenceID"`
	Digest     string       `json:"digest"`
	RequestMsg *RequestMsgs `json:"requestMsg"`
	PeerID     int64        `json:"clientid"`
}

type PrepareMsg struct {
	ViewID      int64  `json:"viewID"`
	SequenceID  int64  `json:"sequenceID"`
	BatchDigest string `json:"BatchDigest"`
	ReplicaId   int64  `json:"ReplicaId"`
}

type CommitMsg struct {
	ViewID     int64  `json:"viewID"`
	SequenceID int64  `json:"sequenceID"`
	Digest     string `json:"digest"`
	ReplicaId  int64  `json:"nodeID"`
}

//定义回复消息
type ReplyMsg struct {
	ViewID    int64  `json:"viewID"`
	Timestamp int64  `json:"timestamp"`
	ClientID  string `json:"clientID"`
	NodeID    string `json:"nodeID"`
	Result    string `json:"result"`
}

//定义收到的所有的请求的集合
type RequestmMsgs struct {
	reqMsgs []*RequestMsg
}

//
//type MsgType int
//const (
//	PrepareMsg MsgType = iota
//	CommitMsg
//)
